import request from '@/libs/request';

/**
 * @description NFC活动数据统计 -- 获取统计数据
 * @param {Object} params 查询参数
 */
export function getAnalyticsData(params) {
  return request({
    url: 'nfc/analytics',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取活动参与统计
 * @param {Object} params 查询参数
 */
export function getParticipationStats(params) {
  return request({
    url: 'nfc/analytics/participation',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取转化率统计
 * @param {Object} params 查询参数
 */
export function getConversionStats(params) {
  return request({
    url: 'nfc/analytics/conversion',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取商户排行
 * @param {Object} params 查询参数
 */
export function getMerchantRanking(params) {
  return request({
    url: 'nfc/analytics/merchant-ranking',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取趋势数据
 * @param {Object} params 查询参数
 */
export function getTrendData(params) {
  return request({
    url: 'nfc/analytics/trend',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 导出数据
 * @param {Object} data 导出参数
 */
export function exportAnalyticsData(data) {
  return request({
    url: 'nfc/analytics/export',
    method: 'post',
    data,
    responseType: 'blob', // 用于文件下载
  });
}

/**
 * @description NFC活动数据统计 -- 获取活动列表（用于筛选）
 * @param {Object} params 查询参数
 */
export function getAnalyticsCampaignList(params) {
  return request({
    url: 'nfc/campaigns',
    method: 'get',
    params: {
      ...params,
      status: 1, // 只获取启用的活动
    },
  });
}

/**
 * @description NFC活动数据统计 -- 获取商户列表（用于筛选）
 * @param {Object} params 查询参数
 */
export function getAnalyticsMerchantList(params) {
  return request({
    url: 'nfc/campaigns/merchants',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取实时统计数据
 * @param {Object} params 查询参数
 */
export function getRealTimeStats(params) {
  return request({
    url: 'nfc/analytics/realtime',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取详细报表数据
 * @param {Object} params 查询参数
 */
export function getDetailedReport(params) {
  return request({
    url: 'nfc/analytics/detailed-report',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取活动对比数据
 * @param {Object} params 查询参数
 */
export function getCampaignComparison(params) {
  return request({
    url: 'nfc/analytics/campaign-comparison',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取用户行为分析
 * @param {Object} params 查询参数
 */
export function getUserBehaviorAnalysis(params) {
  return request({
    url: 'nfc/analytics/user-behavior',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取地域分布数据
 * @param {Object} params 查询参数
 */
export function getGeographicDistribution(params) {
  return request({
    url: 'nfc/analytics/geographic',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取时段分析数据
 * @param {Object} params 查询参数
 */
export function getTimeAnalysis(params) {
  return request({
    url: 'nfc/analytics/time-analysis',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取设备分析数据
 * @param {Object} params 查询参数
 */
export function getDeviceAnalysis(params) {
  return request({
    url: 'nfc/analytics/device-analysis',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取漏斗分析数据
 * @param {Object} params 查询参数
 */
export function getFunnelAnalysis(params) {
  return request({
    url: 'nfc/analytics/funnel',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取留存分析数据
 * @param {Object} params 查询参数
 */
export function getRetentionAnalysis(params) {
  return request({
    url: 'nfc/analytics/retention',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 获取ROI分析数据
 * @param {Object} params 查询参数
 */
export function getROIAnalysis(params) {
  return request({
    url: 'nfc/analytics/roi',
    method: 'get',
    params,
  });
}

/**
 * @description NFC活动数据统计 -- 生成自定义报表
 * @param {Object} data 报表配置
 */
export function generateCustomReport(data) {
  return request({
    url: 'nfc/analytics/custom-report',
    method: 'post',
    data,
  });
}

/**
 * @description NFC活动数据统计 -- 获取预设报表模板
 */
export function getReportTemplates() {
  return request({
    url: 'nfc/analytics/report-templates',
    method: 'get',
  });
}

/**
 * @description NFC活动数据统计 -- 保存报表模板
 * @param {Object} data 模板数据
 */
export function saveReportTemplate(data) {
  return request({
    url: 'nfc/analytics/report-templates',
    method: 'post',
    data,
  });
}

/**
 * @description NFC活动数据统计 -- 删除报表模板
 * @param {Number} id 模板ID
 */
export function deleteReportTemplate(id) {
  return request({
    url: `nfc/analytics/report-templates/${id}`,
    method: 'delete',
  });
}

/**
 * @description NFC活动数据统计 -- 获取数据字典
 */
export function getAnalyticsDataDictionary() {
  return request({
    url: 'nfc/analytics/data-dictionary',
    method: 'get',
  });
}

/**
 * @description NFC活动数据统计 -- 获取统计配置
 */
export function getAnalyticsConfig() {
  return request({
    url: 'nfc/analytics/config',
    method: 'get',
  });
}

/**
 * @description NFC活动数据统计 -- 更新统计配置
 * @param {Object} data 配置数据
 */
export function updateAnalyticsConfig(data) {
  return request({
    url: 'nfc/analytics/config',
    method: 'post',
    data,
  });
}
